#!/usr/bin/env node

/**
 * Vision Analyzer MCP 服务器启动脚本
 * 自动检测项目根目录并启动服务器
 */

const path = require('path');
const fs = require('fs');

// 查找项目根目录（包含 package.json 和 .env 的目录）
function findProjectRoot(startDir = __dirname) {
    let currentDir = startDir;

    while (currentDir !== path.dirname(currentDir)) {
        const packageJsonPath = path.join(currentDir, 'package.json');
        const envPath = path.join(currentDir, '.env');
        const indexJsPath = path.join(currentDir, 'index.js');

        if (fs.existsSync(packageJsonPath) &&
            fs.existsSync(envPath) &&
            fs.existsSync(indexJsPath)) {
            return currentDir;
        }

        currentDir = path.dirname(currentDir);
    }

    // 如果没找到，返回当前脚本所在目录
    return __dirname;
}

// 启动 MCP 服务器
function startServer() {
    const projectRoot = findProjectRoot();

    // 输出调试信息到 stderr（MCP 服务器会忽略这些）
    console.error(`[Vision Analyzer] 项目根目录: ${projectRoot}`);
    console.error(`[Vision Analyzer] 启动 MCP 服务器...`);

    // 切换到项目根目录
    process.chdir(projectRoot);

    // 启动实际的服务器
    try {
        require('./index.js');
    } catch (error) {
        console.error(`[Vision Analyzer] 启动失败:`, error.message);
        process.exit(1);
    }
}

// 如果直接运行此脚本
if (require.main === module) {
    startServer();
}

module.exports = { findProjectRoot, startServer };